package com.njym.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.njym.entity.PlatformBusinessRec;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

import java.util.List;

/**
 * Created with IDEA
 * author:张善兵
 * Date:2018/8/23
 * Time:下午2:08
 */

public interface PlatformBusinessRecMapper extends BaseMapper<PlatformBusinessRec> {
    List<PlatformBusinessRec> getPlatformBusinessAllStatistical(
        @Param("orgId") String orgId,
        @Param("modeId") String modeId,
        @Param("cardNo") String cardNo,
        @Param("terminalId") String terminalId,
        @Param("outTradeNo") String outTradeNo,
        @Param("start") Date start,
        @Param("end") Date end);

    PlatformBusinessRec getAbnormalStatistics(
        @Param("orgId") String orgId,
        @Param("modeId") String modeId,
        @Param("cardNo") String cardNo,
        @Param("terminalId") String terminalId,
        @Param("outTradeNo") String outTradeNo,
        @Param("start") Date start,
        @Param("end") Date end);

    PlatformBusinessRec getPlatformBusinessRecByOutTradeNo(@Param("outTradeNo") String outTradeNo);

    /**
     * 通过商户的交易单号查询交易记录
     * @param outTradeNo
     * @return
     */
    List<PlatformBusinessRec> getPlatformByOutTradeNo(@Param("outTradeNo") String outTradeNo);

    /**
     * 通过商户的交易单号查询交易记录
     * @param outTradeNo
     * @return
     */
    List<PlatformBusinessRec> getPlatformByOutTradeNos(@Param("outTradeNo") String outTradeNo);

    /**
     * 查询明细
     * @param page
     * @param orgId
     * @param recType
     * @param abnormalFlag
     * @param channelId
     * @param channelName
     * @param modeId
     * @param modeName
     * @param tradeStatus
     * @param cardNo
     * @param terminalId
     * @param tradeNo
     * @param outTradeNo
     * @param start
     * @param end
     * @return
     */
    List<PlatformBusinessRec> queryPlatformBusinessRecDetail(
        Pagination page,
        @Param("orgId") String orgId,
        @Param("recType") Integer recType,
        @Param("abnormalFlag") Integer abnormalFlag,
        @Param("channelId") String channelId,
        @Param("channelName") String channelName,
        @Param("modeId") String modeId,
        @Param("modeName") String modeName,
        @Param("tradeStatus") String tradeStatus,
        @Param("cardNo") String cardNo,
        @Param("terminalId") String terminalId,
        @Param("tradeNo") String tradeNo,
        @Param("outTradeNo") String outTradeNo,
        @Param("start") Date start,
        @Param("end") Date end);

    /**
     * 下载
     * @param orgId
     * @param recType
     * @param abnormalFlag
     * @param channelId
     * @param channelName
     * @param modeId
     * @param modeName
     * @param tradeStatus
     * @param cardNo
     * @param terminalId
     * @param tradeNo
     * @param outTradeNo
     * @param start
     * @param end
     * @return
     */
    List<PlatformBusinessRec> downPlatformBusinessRecDetail(
        @Param("orgId") String orgId,
        @Param("recType") Integer recType,
        @Param("abnormalFlag") Integer abnormalFlag,
        @Param("channelId") String channelId,
        @Param("channelName") String channelName,
        @Param("modeId") String modeId,
        @Param("modeName") String modeName,
        @Param("tradeStatus") String tradeStatus,
        @Param("cardNo") String cardNo,
        @Param("terminalId") String terminalId,
        @Param("tradeNo") String tradeNo,
        @Param("outTradeNo") String outTradeNo,
        @Param("start") Date start,
        @Param("end") Date end);
}
